import json
import plotly.express as px
import pandas as pd
#探索合适的数据结构
# filename = "data/eq_data_1_day_m1.json"
# with open(filename) as f:
#     all_eq_data = json.load(f)
#
# readable_file = 'data/readable_eq_data.json'
# with open(readable_file,'w') as f:
#     json.dump(all_eq_data,f,indent=4)

filename = 'data/eq_data_30_day_m1.json'
with open(filename) as f:
    all_eq_data = json.load(f)

all_eq_dicts = all_eq_data['features']
print(len(all_eq_dicts))

mags,titles,lons,lats = [],[],[],[]
for eq_dict in all_eq_dicts:
    mag = eq_dict['properties']['mag']
    title = eq_dict['properties']['title']
    lon = eq_dict['geometry']['coordinates'][0]
    lat = eq_dict['geometry']['coordinates'][1]

    mags.append(mag)
    lons.append(lon)
    lats.append(lat)
    titles.append(title)

print(mags[:10])
print(titles[:2])
print(lons[:5])
print(lats[:5])

data = pd.DataFrame(
    data=zip(lons,lats,titles,mags),columns=['经度','维度','位置','震级']
)
fig = px.scatter(
    data,
    x='经度',
    y='维度',
    range_x=[-200,200],
    range_y=[-90,90],
    title='全球地震散点图',
    size_max=10,
    size='震级',
    color='震级',
    hover_name='位置'
)

fig.write_html('global_earthquakes.html')
fig.show()